{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Modeling and Simulation in Python\n",
    "\n",
    "Rabbit example\n",
    "\n",
    "Copyright 2017 Allen Downey\n",
    "\n",
    "License: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from modsim import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Rabbit is Rich\n",
    "\n",
    "This notebook starts with a version of the rabbit population growth model.  You will modify it using some of the tools in Chapter 5.  Before you attempt this diagnostic, you should have a good understanding of State objects, as presented in Section 5.4.  And you should understand the version of `run_simulation` in Section 5.7.\n",
    "\n",
    "### Separating the `State` from the `System`\n",
    "\n",
    "Here's the `System` object from the previous diagnostic.  Notice that it includes system parameters, which don't change while the simulation is running, and population variables, which do.  We're going to improve that by pulling the population variables into a `State` object."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>t0</th>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>t_end</th>\n",
       "      <td>20.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>juvenile_pop0</th>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>adult_pop0</th>\n",
       "      <td>10.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>birth_rate</th>\n",
       "      <td>0.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mature_rate</th>\n",
       "      <td>0.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>death_rate</th>\n",
       "      <td>0.50</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "t0                0.00\n",
       "t_end            20.00\n",
       "juvenile_pop0     0.00\n",
       "adult_pop0       10.00\n",
       "birth_rate        0.90\n",
       "mature_rate       0.33\n",
       "death_rate        0.50\n",
       "dtype: float64"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "system = System(t0 = 0, \n",
    "                t_end = 20,\n",
    "                juvenile_pop0 = 0,\n",
    "                adult_pop0 = 10,\n",
    "                birth_rate = 0.9,\n",
    "                mature_rate = 0.33,\n",
    "                death_rate = 0.5)\n",
    "\n",
    "system"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the following cells, define a `State` object named `init` that contains two state variables, `juveniles` and `adults`, with initial values `0` and `10`.  Make a version of the `System` object that does NOT contain `juvenile_pop0` and `adult_pop0`, but DOES contain `init`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Updating `run_simulation`\n",
    "\n",
    "Here's the version of `run_simulation` from last time:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def run_simulation(system):\n",
    "    \"\"\"Runs a proportional growth model.\n",
    "    \n",
    "    Adds TimeSeries to `system` as `results`.\n",
    "    \n",
    "    system: System object\n",
    "    \"\"\"\n",
    "    juveniles = TimeSeries()\n",
    "    juveniles[system.t0] = system.juvenile_pop0\n",
    "    \n",
    "    adults = TimeSeries()\n",
    "    adults[system.t0] = system.adult_pop0\n",
    "    \n",
    "    for t in linrange(system.t0, system.t_end):\n",
    "        maturations = system.mature_rate * juveniles[t]\n",
    "        births = system.birth_rate * adults[t]\n",
    "        deaths = system.death_rate * adults[t]\n",
    "        \n",
    "        if adults[t] > 30:\n",
    "            market = adults[t] - 30\n",
    "        else:\n",
    "            market = 0\n",
    "            \n",
    "        juveniles[t+1] = juveniles[t] + births - maturations\n",
    "        adults[t+1] = adults[t] + maturations - deaths - market\n",
    "        \n",
    "    system.adults = adults\n",
    "    system.juveniles = juveniles"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the cell below, write a version of `run_simulation` that works with the new `System` object (the one that contains a `State` object named `init`).\n",
    "\n",
    "Hint: you only have to change two lines."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Test your changes in `run_simulation`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5.470000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>6.209900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>7.057723</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>8.021560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>9.117031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>10.362107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>11.777219</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>13.385586</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>15.213601</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>17.291261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>19.652658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>22.336542</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>25.386953</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>28.853947</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>32.794414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>34.478600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>36.487431</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>37.893339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>39.401924</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>40.546917</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "0     10.000000\n",
       "1      5.000000\n",
       "2      5.470000\n",
       "3      6.209900\n",
       "4      7.057723\n",
       "5      8.021560\n",
       "6      9.117031\n",
       "7     10.362107\n",
       "8     11.777219\n",
       "9     13.385586\n",
       "10    15.213601\n",
       "11    17.291261\n",
       "12    19.652658\n",
       "13    22.336542\n",
       "14    25.386953\n",
       "15    28.853947\n",
       "16    32.794414\n",
       "17    34.478600\n",
       "18    36.487431\n",
       "19    37.893339\n",
       "20    39.401924\n",
       "21    40.546917\n",
       "dtype: float64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "run_simulation(system)\n",
    "system.adults"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plotting the results\n",
    "\n",
    "Here's a version of `plot_results` that plots both the adult and juvenile `TimeSeries`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def plot_results(system, title=None):\n",
    "    \"\"\"Plot the estimates and the model.\n",
    "    \n",
    "    system: System object with `results`\n",
    "    \"\"\"\n",
    "    newfig()\n",
    "    plot(system.adults, 'bo-', label='adults')\n",
    "    plot(system.juveniles, 'gs-', label='juveniles')\n",
    "    decorate(xlabel='Season', \n",
    "             ylabel='Rabbit population',\n",
    "             title=title)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If your changes in the previous section were successful, you should be able to run this new version of `plot_results`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n/vWvxMbG4u3tzZgxY4iPj+ejjz6yKf/xxx8TFxfHPffcg6+vLx06dODhhx/miy++qNlT3llKSkqI\nj49n9uzZ6PV6vL29mTRpEuXl5ezZs8epdWtqzfm62DNnzhxSUlLo37+/s6vSqMLCQlauXMmoUaNs\njn3wwQcMHjyYlJQUvLy86Nq1KxMmTOD999/HbDbblD98+DDbtm1jxowZREVF4e/vz5QpU9DpdHzx\nxReOOJ1Gz6eqqorp06fTv39/3N3d6du3LwMGDODnn392SN3OV2Pncr6cfW3O51w2bdpEamoqs2bN\navJ6na9zfQa3lPeMSwT3ffv2YTQa6dmzp9XjvXr1Ii0tzab87t276dWrl01Zk8nEvn37mrSu5xIY\nGMi8efOIj4+veSwzMxOAqKgou88pKyvjkUceYeDAgQwaNIjZs2fbbJvrTBs2bODPf/4zffv25dZb\nb2XTpk12yzXn61Lff//7X3755RemTZvWYJnmcl1Gjx5tdwgEGv6dFxYWkpGRYVM+LS0NT09PLrvs\nsprHPDw86N69u933WlNo7Hz+8pe/cOedd9b8rGka2dnZtG3bttHXfP/997nuuutITk7mrrvuYseO\nHZe0zg1p7FxA5Q+/9957ueKKKxg6dCgvvfQSBoPBbllnX5tznYuFwWDgueee44knniAoKKjRss64\nLuf6DG4p7xmXCO6WVl1ISIjV46GhoeTl5dktHxwcbFMWsFvemUpLS5k1axbXXnutzZcXUPWOj49n\n3LhxbNmyhSVLlrBr1y6mT5/uhNraSkhIIC4ujg8++IAffviB6667jilTpths6wst57qYzWYWLlzI\nAw88QEBAgN0yzf26WDT2O7fXW2IpX38cNCQkpFldI4vXX3+dkydP2p0vYdG9e3e6d+/O2rVr+eab\nb+jatSv33XcfWVlZDqyprTZt2tCxY0cef/xxtm7dyksvvcS6dets5ndYtJRrs2LFCkJCQrjxxhsb\nLddcrkv9z+CW8p5xieDemPq/0EtdvillZ2dz1113ER4ezoIFC+yWGTJkCB9++CEDBw7Ew8ODxMRE\npk2bxubNm8nJyXFwjW299dZbzJo1i7CwMAICAnjooYdITEzkk08+Oa/XaU7XZePGjZw+fbrRzYqa\n+3VpCs3pGlVXVzN37lzef/99lixZYjXhrr41a9bw0EMPERAQQGhoKE899RT+/v58/vnnDqyxrTvv\n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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f44d1c87588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_results(system, title='Proportional growth model')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "That's the end of the diagnostic.  If you were able to get it done quickly, and you would like a challenge, here are two bonus questions:\n",
    "\n",
    "\n",
    "### Bonus question #1\n",
    "\n",
    "Write a version of `run_simulation` that puts the results into a single `TimeFrame` named `results`, rather than two `TimeSeries` objects.\n",
    "\n",
    "Write a version of `plot_results` that can plot the results in this form.\n",
    "\n",
    "WARNING: This question is substantially harder, and requires you to have a good understanding of everything in Chapter 5.  We don't expect most people to be able to do this exercise at this point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "run_simulation(system)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nSxe2bdvGb37zGz755BPCwq6+XXzmjpkAZJVkkZJXv9JLn4A+dNV3vWH5FkIIIWyFTT25FxYWsmPH\nDn7/+98TGhqKq6srkyZNIjw8nPfff/+az1tcVcyZvDOm18FewQR5Bt2ILAshhBA2x6aC+9GjR6mu\nrmbAgAFm+wcOHEhSUlITR11ean4qdagFYbycvejl1+u68imEEELYMpsK7nl5eQD4+vqa7ffz8yM3\nN/eaz1ur1QLgpHMi0hApE9UIIYSwazbX5t6U6+nRHhkYSW55LgHuAdKBTgghhN2zqUfYgIAAAAoK\nCsz25+fnExgYeM3ndXNyo6t3VwnsQgghOgSbCu5RUVG4uLhw+PBhs/0HDx4kNja2jXIlhBBCtC82\nVS3v7e3N+PHjSUxMJCIiguDgYDZt2kRmZiaTJk26pnMuH7v8BudSCCGEsG02FdwB5s+fz5IlS5g8\neTKlpaVERkaycuVKunZtekx6ba3qMHfhwoXWyqYQQgjRZozxzhj/GtNpmqa1ZoZawv79+3nkkUfa\nOhtCCCFEq9q4caPVZmu7CO4VFRX8+OOPGAwGHB0d2zo7QgghRIuqra0lJyeHqKgo3NwsO4vbRXAX\nQgghRD2b6i0vhBBCiOsnwV0IIYSwMxLchRBCCDsjwV0IIYSwMxLchRBCCDtjc5PYXKvy8nIWL17M\nnj17KCwspFevXjz11FPceuutVtN/++23JCYmcvr0aby9vbntttuYN28e7u7urZxzS7m5uSxdupSv\nv/6asrIyevXqxTPPPMPw4cMt0m7dupV58+bh4uJitj8uLo4lS5a0VpabNGrUKC5evIiDg/n3yO3b\ntxMaGmqR3lbLZd++fUyfPt1if01NDffddx9/+ctfzPbbWrmkp6czf/58fvjhB7744gu6detmeu9f\n//oXq1atIi0tDYPBQFxcHE899VSTw0rz8vJYtGgR+/bto7y8nMjISObMmUNUVFRrXU6z17Nx40Y2\nbtxIVlYWfn5+3HfffcyaNcvib9CoT58+ODs7WyxOdeDAAYvyawlNXUtiYiJ///vfcXZ2Nkv/2GOP\n8fTTT1s9V1uXTVPXcvfdd3P+/HmztJqmUV1dzcmTJ62eqy3L5XL34HbxmdHsxNy5c7V7771XO3v2\nrFZRUaFt3rxZi4qK0s6cOWORNjU1VYuKitLWr1+vlZWVaT/99JN2//33a3Pnzm2DnFuaOHGiNn36\ndC07O1urqKjQli5dqt10003ahQsXLNJ+9NFH2siRI9sgl1dm5MiR2kcffXRFaW29XBrLzs7Whg4d\nqu3du9fiPVsql127dmnDhw/X5syZo0VERGjp6emm9/bu3av1799f27lzp1ZZWamdOHFC++Uvf6kl\nJiY2eb6pU6dq06ZN07KysrSSkhLtjTfe0IYOHarl5eW1xuU0ez2bN2/WYmJitL1792o1NTXa/v37\ntejoaG3t2rVNni8iIkL7/vvvWyPrFpq7ljfffFObMmXKVZ2vLcumuWux5plnnmn2s92W5dLcPbi9\nfGbsolq+sLCQHTt28Pvf/57Q0FBcXV2ZNGkS4eHhvP/++xbpP/jgA8LCwpg6dSru7u50796d3/72\nt2zfvt20pnxbKS4uJjw8nPnz52MwGHB1deWJJ56grKyMI0eOtGneWpotl4s1CxYsIC4ujqFDh7Z1\nVppVUFDAxo0bGTdunMV7GzZsYMSIEcTFxeHi4kKfPn2YNm0a7733HnV1dRbpT506xd69e5kzZw7B\nwcF4enoya9YsdDod27dvb43LafZ6qqqqSEhIYOjQoTg6OhITE8OwYcP4/vvvWyVvV6u5a7labV02\nV3Mtu3fvZt++fcybN6/F83W1LncPbi+fGbsI7kePHqW6upoBAwaY7R84cCBJSUkW6Q8fPszAgQMt\n0tbU1HD06NEWzevleHt788orrxAeHm7al56eDkBwcLDVY0pLS/nd737H8OHDue2225g/f77Fsrlt\n6dNPP+VXv/oVMTExPPDAA+zevdtqOlsul8b++9//cvDgQWbPnt1kGlsplwkTJlhtAoGmf+cFBQWk\npaVZpE9KSsLZ2Zm+ffua9jk5OdG/f3+rn7WW0Nz1PProozz00EOm15qmkZmZSefOnZs953vvvced\nd95JbGwsDz/8MPv377+heW5Kc9cCav7wX//619x8882MGjWKxYsXU1FRYTVtW5fN5a7FqKKigpde\neonnnnsOvV7fbNq2KJfL3YPby2fGLoK78anO19fXbL+fnx+5ublW0/v4+FikBaymb0slJSXMmzeP\n22+/3eLLC6h8h4eHM2XKFL7++mtWrFjBoUOHSEhIaIPcWoqIiCAsLIwNGzbw1VdfceeddzJr1iyL\nZX2h/ZRLXV0dy5YtY8aMGXh5eVlNY+vlYtTc79xabYkxfeN2UF9fX5sqI6O///3vnD9/3mp/CaP+\n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\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f44cf56abe0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_results(system)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bonus question #2\n",
    "\n",
    "Factor out the update function.\n",
    "\n",
    "1.  Write a function called `update` that takes a `State` object and a `System` object and returns a new `State` object that represents the state of the system after one time step.\n",
    "\n",
    "2.  Write a version of `run_simulation` that takes an update function as a parameter and uses it to compute the update.\n",
    "\n",
    "3.  Run your new version of `run_simulation` and plot the results.\n",
    "\n",
    "WARNING: This question is substantially harder, and requires you to have a good understanding of everything in Chapter 5.  We don't expect most people to be able to do this exercise at this point."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Solution goes here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'update' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-15-5d0666d579e1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mrun_simulation\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msystem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mupdate\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'update' is not defined"
     ]
    }
   ],
   "source": [
    "run_simulation(system, update)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "plot_results(system)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
